Sphere/Guide to Sphere

From Spheriki

Jump to: navigation, search
Error creating thumbnail: /srv/http/nginx/spheredev/w/bin/ulimit4.sh: line 4: convert: command not found
Originally found on sphere.sf.net as A Guide to Sphere, author Zennith


for Sphere.96b
by Zennith


Contents

[hide]

Overview

Gaming and Computer Terms

RPG
role-playing game
GCE
game creation engine
IDE
integrated development environment
Index
a list of items that are numbered, starting with 0. One example is the tiles of a tileset. The first tile is tile #0, the second is tile #1, etc.
Coordinate System
an imaginary grid. Each square is represented by an x and a y value (x,y). X refers to the horizontal aspect of the grid, and y refers to the vertical; (0,0) is the upper-left corner. X increases in value for a square that is further right, and y increases for a square that is further down.

File Types

File types are denoted by the extension after the file name (filename.extension). An extension is typically 3 letters and is not always shown after a file. Usually, different file types have different icons. Here are some common extensions.

txt
a text file
jpeg, jpg, jpe, png, pcx, bmp
these are image formats
mng, flic, flc, fli
these are animation formats
mp3, wav, it, xm, s3m, mod
sound file formats
exe
these are executables; EXE files are programs that may be executed, or run
Sphere File Types
rmp 
Map file, including a tileset.
rts 
Tileset
rss 
Spriteset
rws
WindowStyle
js 
Script
rfn 
Font
sswatch
palette
spk
a packaged Sphere game.
sgm
each Project has a file called game.sgm. This file contains the game information that you may determin in Game Settings (explained later).

Sphere

Get the latest version of Sphere from Sphere:Latest. After you have unzipped it, take a look. You'll notice 6 folders and 3 executables. We'll talk about the folders first.

Bin
This contains dlls and texts of Engine and Editor configuration settings. Also contains copies of the three executables.
CVS
I'm not really sure what this is, but I think it is for programmers who are using the Sphere source code. You can access it by here. Here you may browse the CVS Repository to find stuff about Sphere. You may view these topics by selecting them and downloading them.
Docs
contains all of the documents that come with Sphere.
build.txt: information to help programmers who are using Sphere's source code.
doc_functions.txt: contains a list of all of Sphere's functions, with explanations.
GPL.txt: Sphere is licensed under the General Public License (GPL).
keys.txt: this is a list of the names of keys that you may use in your scripts.
lack_of_documentation.txt: addresses the lack of documentation in the Sphere community. Both addresses listed are unavailable.
legal.txt: this states that Sphere must always be free, among other things.
network.txt: the copy of an on-line conversation about networking in Sphere. Contains one swear word.
readme.txt: contains technical information concerning Sphere.
Sphere Tutorial: a tutorial to help you get started.
sphere_cvs.txt: this tells you how to log on to CVS.
sphere_rules.txt: the rules for using #sphere on EsperNet.
unix.txt: information on the project to port Sphere to UNIX.

Below is an overview of three folders included in the Docs folder.

Sphere Help
this contains Sphere's help file.
System Scripts
contains documentation about completed scripts for you to use with Sphere.
Technical
contains docs referring to the technical aspects of Sphere.

Folders

StartUp
When you run Engine.exe, Sphere automatically reads the files in StartUp, You may place the files for your game in the StartUp folder and its subdirectories (subfolders) to have Engine.exe run it automatically.
System
Contains system images, sounds, and scripts.
Games
This is where your Project Folder belongs. Also, any games that you wish to play should be placed in here, except for one that can be in the Startup folder.
Project Folder
Each game, or Project, has it's own Project Folder, labeled by the game maker(s). Each one contains eight subdirectories, labeled "Animations", "Fonts", "Images", "Maps", "Scripts", "Sounds", "Spritesets", and "WindowStyles". These eight folders hold the Resource Files for your game.

The Executables

Config
This allows you to select a driver (dll) for running games on your computer. If you are having trouble playing a game, try selecting a different driver or not running it in full-screen mode. The video drivers are explained in the Help File under About Sphere. The file is found in docssphere_help. For more options, click on the Configure Driver button. The options that you will see will depend on the dll you have selected.
Editor
Just what it says. Click on this to start making a game in SDE, the Sphere Development Environment.
Engine
Use this to play or test a game.

Sphere Development Environment (SDE)

The Basics

To get to SDE, run Editor.exe. SDE has bars, windows, dialogs and menus that will help you make a game.

Bars

SDE has a Menu Bar, a Tool Bar, and a Status Bar, each indicated in the image below.

http://sphere.sourceforge.net/sdownloads/sphereguide/SDE.jpeg

The Menu Bar has four menus when you first open SDE. They are File, View, Window and Help. When you open or create a new Project, Map, Spriteset, Script, Font, WindowStyle or Image, a menu that corresponds to your present task will appear on the Menu Bar. These menus will be explained later.

The Task Bar has four icons for quicktasks.

http://sphere.sourceforge.net/sdownloads/sphereguide/QuickTasks.jpeg

The New icon creates a new Project. The Open icon opens an existing file. The Save icon saves the active window. The Run icon runs the current Project from the saved file. This means that any changes you made after the last save will not be reflected when you test the game.

The Status Bar displays information relevant your tasks.

Menus

Menus help you use Sphere. The main menus are found on the Menu Bar, and pop-up menus are accessed by right-clicking in a certain field.

http://sphere.sourceforge.net/sdownloads/sphereguide/Menu1.jpeg http://sphere.sourceforge.net/sdownloads/sphereguide/Menu2.jpeg

The Menu Bar menus

On the left is the File Menu, from the Menu Bar. The right menu is a Pop-up menu.

File Menu
New Creates a new Project or new resources for a Project
Open Opens existing Project or existing Resource Files
Import Converts files from third-party formats to Sphere formats
Open Last Project Opens the last Project that was run in SDE
Close Project Closes the active Project
Save Saves the active Resource File
Save As Saves the active Resource File under a new name and closes the old file
Save As Copy Saves the active Resource File as a copy of the original. You will still be editing the file you saved it from, not the copy
Save All Windows Saves all opened Resource Files
Options Opens the Options dialog. Here you may register file types, so that clicking on a Map file, Spriteset file, Font file or WindowStyle file will open the file in SDE
Exit Exits Sphere Development Environment
View Menu
Tool Bar Show or hide the Tool Bar
Status Bar Show or hide the Status Bar
Palettes Show or hide any active secondary windows
Window Menu
Tile Horizontally Tiles all active windows horizontally. This will arrange the windows one above the other. The window that was first opened will be topmost and the last one will be on the bottom. Secondary windows are not affected by this. If you have more than three windows open, they will be in rows and columns.
Tile Vertically Tiles all active windows vertically. Arranges windows one beside the other. The first opened window will be on the left and the last will be on the right. Secondary windows are not affected by this. If you have more than three windows open, they will be in rows and columns.
Cascade Cascades all active windows. This arranges the windows in overlapping order with one below and to the right of the other. The first opened window will be foremost. Secondary windows are not affected by this.
Close All Windows Closes all active windows.

Below the commands there is a numbered list of your current Projects. Select one and that window, with its secondary windows, will become visible.

Help Menu
Contents Not yet implemented.
Tutorial Not yet implemented.
About Information on Sphere. Specifies the version that you have.

When a Resource File is opened, a new menu will appear on the Menu Bar. These menus are explained later.

Windows

Windows are the boxes that display a file or tools. Some of them have tabs that allow you to choose one setting or another. The nine main windows are the Project window, Map window, Spriteset window, Script window, Font window, WindowStyle window, and Image window, as well as the Animation and Sound windows (the Animation and Sound windows are very simple, because you can only look at animations and listen to sound files in SDE). Sphere also has secondary windows that will assist you in editing a file. I will explain these windows in more depth later.

Below are three examples of windows. The first is the Map window, the second is the Script Window, and the third is the Swatch Window.

http://sphere.sourceforge.net/sdownloads/sphereguide/window1.jpeg http://sphere.sourceforge.net/sdownloads/sphereguide/window2.jpeg http://sphere.sourceforge.net/sdownloads/sphereguide/window3.jpeg

Dialogs

Dialogs are boxes that appear when you use certain commands. They allow you to choose options that go with your task.

Below are two examples of Dialogs. Note that one is more elaborate than the other. Some dialogs only have one option, while others will even open more dialog boxes.

http://sphere.sourceforge.net/sdownloads/sphereguide/dialog1.jpeg http://sphere.sourceforge.net/sdownloads/sphereguide/dialog2.jpeg

Projects

Project
A Sphere game is created and edited in a Project. Games may consist of Animations, Images, Fonts, Maps, Scripts, Sounds, Spritesets and WindowStyles. Each of these has its own folder to hold its files. In naming a file, the extensions are optional. You may also delete a file even if it is open.

Sounds and Animations must be made outside of Sphere.

Before we begin making any of these files, you'll need to know about windows.

http://sphere.sourceforge.net/sdownloads/sphereguide/Windowex1.jpeg http://sphere.sourceforge.net/sdownloads/sphereguide/windowex2.jpeg

There are main windows, secondary windows, and tool windows.

Main Window
Project Window or a window where you edit a file for your project.
Example: Map Window, Script Window, Font Window, etc.

The title bars of the main windows display on icon that identifies the file type, as well the name under which the file is saved. An asterisk (*) next to the name of the file means that said file has been edited since the last save.

Secondary Window
A window with something that relates to a main window.
Examples: Spriteset Images window, Tiles window, Swatch window.
Tool Windows
really just a floating tool bar; the only ones are Image Tools and Map Tools.


Here is a list of the tool windows you may encounter.

http://sphere.sourceforge.net/sdownloads/sphereguide/ImageTools.jpeg

Image Tools
Draw
Draw free-hand
Line
Draw a straight line.
Box
Create a box that is filled with the current color.
Ellipsoid
Create a hollow ellipsoid.
Fill
Fill an area of the image with the selected color.

http://sphere.sourceforge.net/sdownloads/sphereguide/MapTools.jpeg

Map Tools
1x1
Place tiles on the map one at a time.
3x3
Place nine tiles on the map with one click.
5x5
Place fifteen tiles on the map with one click.
Select
Selects a tile on the map.
Fill
Fills the entire layer with the selected tile.
Copy
Copy a tile onto the clipboard.
Paste
Paste a tile from the clipboard.
Trigger Copy
Copy a Trigger to the clipboard.
Trigger Paste
Paste a Trigger from the clipboard.
Obstruction
Allows you to draw an obstruction line on your map.
Remove Obstruction
Removes the obstruction nearest to where you click on the map.

Swatch

You may open, create, and/or edit a palette in this window, with the Swatch menu.

Swatch menu access by right-clicking the swatch window
File Load or Save a palette. Sphere saves palettes as .sswatch files
Default Opens the DOS or Verge palettes
Insert Color Before Inserts the selected color before the cursor
Insert Color After Inserts the selected color after the cursor
Replace Replaces the color below the cursor with the selected color
Delete Deletes the specified color from the palette

This is a picture of the Swatch window with an opened palette.

http://sphere.sourceforge.net/sdownloads/sphereguide/swatch.jpeg

Tiles

The Tiles window shows the tiles in the active tileset.

File Type
Tiles are saved as .rts files, if saved separately from a map.
Status Bar
Tells you what the tile is that is under the mouse cursor, with the format
Tile(index# / number of tiles) (Example: Tile(0/1))

http://sphere.sourceforge.net/sdownloads/sphereguide/TilesWindow.jpeg

Note: The selected tile is denoted by a pink box around it.

Tiles menu access by right-clicking the tiles window
Insert Tile Insert a blank tile before the selected tile
Append Tile Append a tile to the end of the tileset
Delete Tile Delete the tile
Insert Tiles... Inserts specified number of tiles
Append Tiles... Appends specified number of tiles
Delete Tiles... Deletes specified number of tiles, from the lower index to the higher. Example; if you are on tile #2 and delete 3 tiles then tiles #2, #3, and #4 will be deleted.
Insert Tileset... Insert an existing .rts file
Append Tileset... Append an existing .rts file
Zoom View the tiles at 1x, 2x, 4x, or 8x the normal size
Properties Opens the Tile Properties dialog box
Tile Properties dialog
Animated Check this box to animate the tile
Next Tile The next tile in an animation sequence
Delay The time, in milliseconds, that the tile is visible in an animated sequence
Next Edit the properties of the next tile
Prev Edit the properties of the previous tile
Edit Obstructions You may obstruct a tile completely or partially, or not have it obstructed at all. You may use presets or draw them manually. "Obstructed" simply means that the base of any Person will not be able to cross the tile. Note: When editing obstructions, right click to remove the last-placed obstruction line.

Spriteset Images

This window shows the images that you may use as frames for the Spriteset. You may change the order of these images without affecting frames that have already been placed. When you first create a new Spriteset, the Spriteset Images window has only one image. This is used as the default frame for the existing directions.

http://sphere.sourceforge.net/sdownloads/sphereguide/SprImages.jpeg

Spriteset Images menu access by right-clicking the spriteset images window
Move Back Moves the frame back (left) by one space
Move Forward Moves the frame forward (right) by one space
Insert Image Inserts a blank frame before the selected frame
Remove Image Removes a frame

Editing Images

Images may be edited in SDE. Because so many of SDEs applications use the same menus and tools for images, I will explain them here.

http://sphere.sourceforge.net/sdownloads/sphereguide/smiley.jpeg

Color Bar
Choose a color by clicking somewhere on this bar.
Selected Color
The color that you apply to the image. Click on this for more color options.
Translucency Meter
Allows you to set the alpha level that you apply to the image.

Below are samples of three different translucency levels, used with the color green. Left: 255, opaque. Middle: 127, semi-transparent. Right: 0, transparent.

http://sphere.sourceforge.net/sdownloads/sphereguide/Alpha255.jpeg http://sphere.sourceforge.net/sdownloads/sphereguide/alpha127.jpeg http://sphere.sourceforge.net/sdownloads/sphereguide/alpha0.jpeg

Image Editing menu access by right-clicking on the image
Color Picker Sets the selected color to the color and alpha from the current pixel
Undo Undoes the last thing you did. May be used repeatedly.
Copy Copies the entire image (or the current selection) to the clipboard.
Paste Pastes the image from the clipboard.
Blend Mode Blend Mode specifies the way that the selected color is applied to the image
Blend The original color will show through. Apply the selected color more than once to increase the intensity of that color, and gradually replace the original color.
Replace The selected color, when applied to the image, replaces the original (the default blend mode).
RGB Only Only the color is applied. The selected alpha is ignored.
Alpha Only Only the alpha is applied. Selected color is ignored.
Rotate Rotate the image
Clockwise Rotates the image clockwise by 90 degrees.
Counterclockwise Rotates the image counterclockwise by 90 degrees
Slide Slide the image
Up Slides the image up by 1 pixel. The top row will appear on the bottom.
Right Slides the image right by 1 pixel. The rightmost column will appear on the left.
Down Slides the image down by 1 pixel. The bottom row will appear on the top.
Left Slides the image left by 1 pixel. The leftmost column will appear on the right.
Flip Flip the image along the X or Y axis
Horizontally Reverses the image so that the right side appears on the left and the left appears on the right.
Vertically Reverses the image so that the top appears on the bottom and the bottom appears on the top.
Fill Blend Mode specifies the way that the selected color is applied to the image
RGB Fills the entire image with the selected color.
Alpha Fills the entire image with the specified alpha.
Both Fills the entire image with both the color and the alpha.
Filter Apply a filter to the image or selection
Blur Blurs the color and the alpha of each pixel.
Noise Sets pixels to colors that are similar to the colors already on the image.
Set Color Alpha Sets the alpha of the current color to the alpha specified by the translucency meter
Scale Alpha Gradually decreases the alpha of the image, depending on where your translucency meter is set. The higher the alpha of the pixel, and the higher the alpha on the translucency meter, the more drastic the increase. You may use Scale Alpha repeatedly to lighten the image further.

A quick refresher of the available image tools:

http://sphere.sourceforge.net/sdownloads/sphereguide/ImageTools.jpeg

Image Tools
Draw
Draw free-hand
Line
Draw a straight line.
Box
Create a box that is filled with the current color.
Ellipsoid
Create a hollow ellipsoid.
Fill
Fill an area of the image with the selected color.

Projects and Resource Files

Project

File Types:

spk
a packaged game.
sgm
game.sgm contains the game data.

A Project consists of all of the resources for your game. Each Project has its own Project Folder, to hold Spritesets, Animations, etc.

To start a new Project, go to File » New » Project. A dialog will appear, with Project Name and Game Title options. The Project Name will be the name of your Project Folder. Game Title, of course, is the title of your game. Only one Project may be open at a time in SDE.

Project Menu appears on the menu bar when a Project is active
Insert Copies an existing Resource File and places it in the proper directory.
Refresh If you have altered any files from outside of SDE, Refresh will cause SDE to reflect the changes.
Run Game Use this command to test/play your game.
Configure Sphere... Same as Config.exe. Allows you to choose a video driver.
Package Game! Compresses the game for distribution. Also prevents the average person from taking your resources.
Project Window

http://sphere.sourceforge.net/sdownloads/sphereguide/Project.jpeg

Click on "Game Settings" to open the Game Settings dialog. Here you may choose the Main Script for your game. The script must already be in the scripts directory. Screen Width and Screen Height are simply the width and height of the screen that displays your game when it is executed.

Below "Game Settings" are eight folders. They hold the Resource Files of your game. To show or hide the contents of a folder click on the plus or minus side to the left of it. If there isn't one, then the folder is empty. You may double-click on any files to open them. You could also right-click on a file to open it or delete it. Right-click on the folder icon or name to copy a file from a different Project into that folder with the "Insert" command.

Next is an explanation of the files that go into a Project Folder, as well as information to help you make them.

Maps

File Types:

rms
Sphere map file
rts
Sphere map tileset file

http://sphere.sourceforge.net/sdownloads/sphereguide/MapScreen.jpeg

Map Setting
Click on the Map tab to edit your map.
Tileset Setting
Click on the Tileset tab to edit a tile. Select a tile from the Tiles window or directly from the map to edit it. You may use the scrollbar to select a different tile, or use the tiles window. Refer to the Editing Images section of this document for tips.

Maps are the places of your game. This is where your characters (sprites) will walk around and do things. A map may have multiple layers. It may also have "Triggers" that run scripts, and "Persons" that can be controlled by separate scripts run their own scripts. Entities (Persons and Triggers) as well as the Starting Point are layer-specific.

The graphics of a map are made up of tiles. A tile is a single picture that you may place anywhere on your map as often as you like. It can be blocked and/or animated. A tile is selected from the Tilesets Window and edited with the Tileset setting. In order to block a tile so that Persons can't walk on it, see the Tile Properties Dialog in Chapter 2, Section 1. To animate a tile, go to Tile Properties Dialog.

Every tile and every pixel has an x and a y value that corresponds to its position on the map. The tile in the very upper-left corner is tile (0,0). The pixel in the very upper-left corner is called pixel (0,0).

The Tiles window is explained previously in this document.

Tilesets

Each map has its own tileset. These tiles make up the graphics of your map. Each one is indexed, beginning at 0. Any change to a tile will alter all instances of said tile that appear on the map. A tileset may be exported as a .rts file, and used in a different map.

When the mouse is over the Tiles window, the Status Bar will identify the current tile and the total number of tiles, like so: current tile/total tiles. Example: say you have a total of 8 tiles and the mouse cursor is over the second tile. The status bar will show Tile(1,8). The first number goes by indexing (in an index, the numbering starts at 0, not 1) while the total number of tiles is the actual numerical value; in this case, 8.

Now that you have the general concepts of maps, lets move on to the grunt work.

To create a new Map go to File » New » Map, and a dialog will appear. Width and Height refer to the number of tiles on the map. There is no limit. Tileset refers to the .rts file that the Map will use. You may use a blank one or browse your computer for an existing file.

Importing Tiles

By using Export, you may save a tileset as a tileset file (rts file), separately from the map file. Then you can add it to other maps by importing it. Use the import command from the Map Menu, or use the pop-up menu from the Tiles window, which has Append Tileset and Insert Tileset. The Import Tileset command erases the existing tileset, but the Append and Insert Tileset commands do not.

Map menu appears on the menu bar when a map is active
Map Properties Opens the map properties dialog
Change Tile Size Set the number of pixels in the tiles. Does not change the size of the image on the tile.
Rescale Tileset Set the number of pixels in the tiles. The image will fit the new tile size.
Resize All Layers Change the number of tiles in the width and height of all layers.
Export Tileset Save a tileset as a .rts file to use with other maps.
Import Tileset Open an outside .rts file. This will replace the existing tileset.
Prune Tileset Deletes any tiles that are not used on your map.
Map Properties dialog
Background Music A sound file that plays continuously while your map is running
Special Scripts Scripts that are run when the map is opened (Entry), closed (Exit), or when the input character crosses the North, East, South or West border of the map. The Entry script will run just before the map is opened, and the Exit script will run just after it is closed.
Layers

Maps may have one or more layer(s) - there is no limit. In order for one layer to be at least partially visible below another, the above layers must have some pixels with an alpha below 255. Those pixels will be somewhat transparent (or completely transparent if the alpha is 0) so the lower layer will show through.

Remember which layer you are editing. When you place a tile or select one from the map, it is done to/from the current layer. Same goes for any entities and the Entry Point.

The bottom layer cannot have any parallax or automatic scrolling.

You may rearrange the layers by clicking and dragging their bars on the left-hand side of the map window. Click to the left of the name to show or hide the layer (if the eye is visible, then the layer is visible).

The Status bar shows the name of the layer bar that is under the mouse. Layer '0' is the bottom layer. Higher layers are labeled with higher numbers.

To edit a layer on the map screen, click on the layer bar. The layer bar that is depressed is the one you are editing.

Layer menu access by right-clicking on a layer name
Insert Layer Inserts a new layer above the one you clicked
Insert Layer From Image Creates a layer from an image and inserts it
Delete Deletes the layer. A prompt will appear, asking if you want to delete associated tiles. If you say yes, then the map will be "pruned" after the layer is deleted.
Duplicate Copies a layer, including obstructions, entities, and parallax data.
Export Creates an image file from the layer
Properties Opens the Layer Properties dialog.
Layer Properties dialog
Name The name of the layer, which appears on the bar
Width Width of the layer, in tiles
Height Height, in tiles
Reflective If this box is checked then there will be a reverse image of any entity reflected on any areas with an alpha below 255. The lower the alpha, the clearer the image.
Parallax Refers to speed at which the layer scrolls. Different layers can have different speeds to create the illusion that the map is 3-dimensional.
Automatic Scrolling Use this to make layer scroll on its own, even if the camera is not moving
Map Screen

The screen that displays your map.

The Status bar identifies the tile and pixel below the mouse cursor, in the format Map tile:(x,y) pixel:(x,y)

Map Screen menu access by right-clicking on the map screen
Select Tile Selects the current tile from the layer that you are editing
Set Entry Point The default point for any Persons that appear on the map. Marked in SDE by "ST"
Fill Fills the entire layer with the current tile
Insert Entity Insert Person or Trigger.
Edit Entity Edit Person or Trigger.
Delete Entity Delete Person or Trigger.
Zoom View the map screen at 1x, 2x, 4x, or 8x normal size

http://sphere.sourceforge.net/sdownloads/sphereguide/MapPic.jpeg

Trigger
an invisible point on your map that causes something to happen when the input character steps on it.
Person
usually a character, hence the name. An entity represented by a spriteset that may have scripts assigned to it and may be destroyed when the map is exited. It may also be influenced by separate scripts.

Each Person has 5 scripts: On Create, On Destroy, On Activate (Touch), On Activate (Talk) and On Generate Commands. To edit any particular script, simply select the one you want.

On Create
This script is run when the Person is created.
On Destroy
This script is run when the Person is destroyed.
On Activate (Touch)
This script is run when the base of the input character touches the base of the Person.
On Activate (Talk)
This script is run when the input character is near the Person and the designated "talk" button is pressed.
On Generate Commands
I think that this script is run when the command queue of the Person ends.

Entities are set to tiles. This means that if you place a Trigger on a tile, stepping anywhere on the tile will activate it. When you resize the map in editing, however, entities are relocated by the pixel. Example: suppose there is a Trigger on Tile(9, 6), Pixel(152, 104). You change the tile-size from 16 to 32. The Trigger is now on Tile(4,3) Pixel(144, 112). If you had changed the tile-size to 8, that same Trigger would have been set to Tile(19, 13) and Pixel(146, 106). Notice that it is not set to exactly the same pixel as before. This is because the Entity is centered on the tile that the pixel is in.

Spritesets

File Type:

rss
Sphere spriteset file

http://sphere.sourceforge.net/sdownloads/sphereguide/PersonFrames.jpeg

Note: the selected frame has a pink box around it.

Frames Setting
click on the Frames tab to modify the directions and the frames.
Edit Setting
click on the Edit tab to edit the images of the Spriteset Images window.
Base Setting
click on the Base tab to set the base for the spriteset.

Sprites are images of the entities (Persons in this case) that move around on your maps. It does not necessarily have to be a human - it could be a boat or an animal.

A spriteset is a collection of the frames that make up a sprite. The frames appear one after another, to animate the sprite. "Delay" is the time that a frame is visible before it is replaced by the next. To set a frame, first select the frame then click on an image from the Spriteset Images window.

Spriteset Menu appears on the Menu bar when a spriteset is active
Zoom View the sprite at 1x, 2x, 4x or 8x normal size. Set to 2x by default.
Resize Spriteset: adjust the size of the sprite in pixels. Pixels will be the same size as the pixels of map tiles.
Fill Delay Set the delay of every existing frame.
Frame Properties Set the delay of the selected frame
Directions

The default directions are "north," "northeast," "east," "southeast," "south," "southwest," "west," "northwest." Other directions may be added. The extra directions could be used to store extra frames (like a "crying frame" for a crying scene). You could also use one direction to store multiple frames for different scenarios, because you can call each frame individually in your scripts.

http://sphere.sourceforge.net/sdownloads/sphereguide/.extradirecs.jpeg

Direction menu access by right-clicking on a direction name
Insert Insert a new direction
Delete Delete the direction
Append Append a direction to the end
Properties Name a direction with the Direction Name dialog
Edit

Refer to the Editing Images section of this document.

Base

Simply click anywhere on the image display and drag the mouse. The pink rectangle is the base. This box is the area where the Person is obstructed and the area that activates "Triggers" and "Persons." If another person has a script under "On Activate (Touch)" the script will be activated when the base of the player character touches the base of the person. A Trigger will be activated when the base of the Person touches the tile that the Trigger is on. When you use the x or y coordinates of a Person, the center of the Base is returned.

http://sphere.sourceforge.net/sdownloads/sphereguide/PersonBase.jpeg

Scripts

File Type:

js
Your everyday run-in-the-mill JavaScript file. NOTE: Sphere functions are NOT web DOM compatible, so Sphere games by default will not work on a web page unless heavily modified.

http://sphere.sourceforge.net/sdownloads/sphereguide/script.jpeg

Scripts cause things to happen in your game. With scripting, you could create a text box, make a Person move on a map, and much more. Sphere supports SpiderMonkey's version of JavaScript as well as the Sphere functions and objects found in doc_functions.txt.

Notice the different text colors in a script. Statements and declarations are blue. Most operators are pink. Numbers and underscore ( _ ) are terracotta. Strings and comments are green. Boolean, export, import, and goto are red.

Script menu found on the Menu bar when a Script window is active
Check Syntax Searches the code for syntax errors
Find Find a specific set of characters in your code
Replace Find and replace a specific set of characters in your code
Script pop-up menu access by right-clicking on the screen of the Script window
Undo Undoes your most recent typing
Redo Replaces the typing after an "Undo" command
Cut Removes the selected text and places it on the clipboard
Copy Copies selected text to the clipboard
Paste Pastes text from clipboard to the screen
Delete Deletes the selected text
Select All Selects all of the text in the script

Fonts

File Types:

rfn
Sphere bitmap font file

http://sphere.sourceforge.net/sdownloads/sphereguide/font.jpeg

A font file is a collection of characters. Each character corresponds to a key on the keyboard (lower case/ordinary and upper/special). The title bar of the font window will show you the key that corresponds to the current character. Example: if you see - 2 - on the title bar, then the picture on the image display will appear on the game screen when you press the 2 key (if you have a function for displaying text).

Use the scroll bar on the bottom of the Font window to select either the next or the previous font character.

Font menu found on the Menu bar when a font file is open
Export To Image Creates an image containing all characters of the open font.
Resize Character Alter the number of pixels of the current character.
Resize All Characters Alter the number of pixels of every character.
Simplify Convert the alpha of each pixel to 255 or 0. If a pixel's alpha is higher than 128, it will be converted to an alpha of 255 (opaque). If it is 127 or lower it will be converted to an alpha of 0 (transparent).
Generate Gradient Set the color and alpha for the top part of the characters and for the bottom. The characters will fade from the top color and alpha to that of the bottom, for a gradient effect. To select a new color, click on the box. To set the alpha, use the translucency meter to the right of the box.

WindowStyles

File Type:

rws
Sphere bitmap window+border file

http://sphere.sourceforge.net/sdownloads/sphereguide/windowstyle.jpeg

A WindowStyle may be used as the background for a menu. To edit a WindowStyle, select a section by clicking on it or by using the WindowStyle menu.

WindowStyle menu found on Menu bar when a WindowStyle is open
Edit Select a side or corner of the windowstyle, or the background. Background may only be selected with the WindowStyle Menu.
Zoom The lower the number, the bigger the editing section and the smaller the view of the windowstyle. Vice versa for a larger zoom number.
Resize Section Set the number of pixels for the width and the height of the current section.
Properties Click here to open the dialog for WindowStyle properties.
WindowStyle Properties dialog
Tile Background Image If this box is checked, the background will be a repeating pattern of the image you edited for Background.
Gradient Background If checked, the background will fade in a gradient style, based on the four colors and translucency meters below. The section called Background that you edited apparently will have no bearing.

The default for each section is 16x16 pixels. Each corner is an exact copy of the picture that you edited for said corners. The sides, top and bottom may have a repeating pattern of the image that was made for said sections - it depends on the number of pixels of each section and the size you set with the drawWindow function. The background will repeat a certain number of times, depending on the number of pixels of the background and the size that you set with drawWindow function.

Images

SDE may open jpeg, jpg, jpe, png, pcx and bmp files. However, it may only save images as png files. For information on editing an image, refer to the Editing Images section of this document.

Sounds

You may open midi, mid, mp3, mp2, ogg, mod, s3m, xm, it, and wav sound files. You may play them, stop them, and adjust the volume. You may not edit or save. When a sound file is played in the game, you may set the volume using scripting. The volume ranges from 0-255.

Animations

You may open mng, flic, flc, and fli animations. You may view them, but cannot edit or save them.

Odds and Ends

Graphics

Configure Driver
use this to choose the video driver that Sphere will use to run games on your computer. With each one, you may play your game in fullscreen mode or non-fullscreen mode.
Pixels
When you increase or decrease the number of pixels in an image, you do not affect the resolution. You merely change the size of the image. For information on resolutions, read the paragraphs below.
Screen Width and Screen Height
go to the Game Settings dialog to adjust these. If a game is run in full screen, then increasing Screen Width and Height will increase the resolution of your game. If it is not in full screen, then this will simply increase the size of the screen. If the map is smaller than the screen is, then the map will repeat.

I think that non-full screen mode is always set to a resolution of 320/240. If you use non-full screen mode, your Screen Width and Height could exceed the monitors width and height.

Scripting

You need scripts if you want anything to happen in your game. With scripting, you could create a menu, a battlesystem, or make it look like a gate is closing. The possibilities are practically endless.

Sphere supports Mozilla's JavaScript (SpiderMonkey), as well as it's own functions and objects. Documentation for Sphere's functions and objects should have come with your download of this game engine. For JavaScript tutorials, try java.sun.com or w3schools.com. If these websites do not have what you are looking for, you could ask about tutorials on one of Sphere's message boards, or check the tutorials on sphere.sf.net. Sphere also has an FAQ.

Main Script
the script that is automatically executed when your game is run. Your game function should go here.
Game Function
a function called game that is automatically executed as soon as the game is run.
function game() {
	//place scripting here
}

Shortcut Keys

Project Window

Up and Down Arrows
scroll through the items on the Project Window, including Game Settings, folders, and visible files.
Right Arrow
Show the contents of a folder. If contents are already visible, go from folder icon to first file of folder.
Left Arrow
If a folder is selected and it's contents shown, this will hide the contents of a folder. If any file is selected, its parent folder will be selected.
Letter Keys
Go to an item beginning with said letter. Press it again to go to a different item beginning with same letter.
Enter
If Game Settings is selected, opens Game Settings dialog. If a file is selected, opens said file.

Menus

To select an item from a menu, press the first letter of said item or the underlined letter.

Up or Down Arrow
scroll through the items.
Right Arrow
if selected item leads to more items, will display those items.
Left Arrow
if selected item comes from item to the left of it, will close the extra selection and return to the item on the left.
Escape
exits the menu

Dialogs

Tab Key
go from one field to another.
Spacebar
If there is one checkable box on the dialog, spacebar will check or uncheck it. If there is more than one box, the field has to be selected.
+ (plus)
This key will only check a box.
- (minus)
This will only uncheck a box.
Enter
opens/activates the selected field. The same as clicking on it.

If a letter in a word is underlined, pressing that letter will select the corresponding field.

Audiere
a sound library developed by Chad Austin and used in Sphere. For more information go to aegisknight.org/audiere
Corona
an image library developed by Chad Austin and be used in Sphere. For more information go to corona.sf.net.

Community

sphere.sf.net
Sphere's SourceForge page. This is the homepage for Sphere.
Spherical
Home to the official unofficial Sphere forums
Aegisknight.org
The homepage of Chad Austin, the creator of Sphere.
Flik's Site
This site contains plenty of good scripting tutorials.
Neo's Site
Still under construction, will contain Sphere related resources and tutorials. He is/I am the one porting Sphere's old tutorials to this wiki.
GamingW.net
This site has a Sphere forum and Sphere tutorials.

For more websites, go to the links section of sphere.sf.net

Glossary

#sphere: Sphere's channel on EsperNet.

Active Window: the window that you are currently using. Denoted by a blue titlebar as
opposed to a gray titlebar.

Alpha: Translucensy level.

Animation: Displaying one image after another to create the illusion of motion.
Spritesets are animated when they move, and tiles may be animated.

Automatic Scrolling: Unless this is set to zero, the map layer will scroll independently of
the camera movement.

Base: The area of a sprite that is blocked by obstructions and that activates Triggers.

bmp: an image file format.

Config: Use this to determine how Sphere on your computer.

Current whatnot: The "where" that something is applied. Example: when editing an
image, the current pixel is the one below the mouse cursor.

Dialog: a box on the computer screen with options for the user to choose or settings to
set.

Directions: Each Spriteset has 8 default directions, each with it's own array of frames.
(north, northeast, east, southeast, etc.)

Display Area: the part of a window that displays the file.

Editor: Use this to make a game.

Engine: Use this to play a game.

Entity: In Sphere, a Person or a Trigger.

Entry Point: The point where the person who the player controls will appear when the
map is opened. Each map must have an Entry Point. Denoted in SDE with "ST"

exe : An executable. Exe files are programs that may be executed, or run.

Executable: A program that may be run, or executed.

Extension: the abbreviation for a file type that is placed after the name of a file and
preceded by a period.

Field: an item on a dialog.

File Format: see file type

File Type: The type of data stored in a file. Example: a sound file stores sounds, an exe
file stores a file that may be executed, etc.

flc: an animation file format.

fli: an animation file format.

flic: an animation file format.

Font: a set of characters (letters, numbers and/or symbols).

FPS: see Frames Per Second.

Frame: An individual picture that is part of an animated sequence.

Frames Per Second: A measure of animation display rate.

Function: a set of scripting that can be called upon elsewhere. You may call a function
in the same script file or a different one, or with any Person or Trigger on a map.

Game Creation Engine: a program that is used to make games

Game Function: the main function of your game. This is the very first function to be
called whenever the game is run. It is found in the Main Script.

GCE: see Game Creation Engine

IDE: see Integrated Development Environment.

Index: a list of items that are numbered, starting with 0. One example is the tiles of a
tileset. The first tile is tile #0, the second is tile #1, etc.

Input Person: The person that the player directly controls.

Integrated Development Environment: Co

Personal tools